One of the biggest challenges that have been observed in the field of software testing is to ensure quality of a software product before deploying the software product in a production environment. One way to ensure the quality is by testing each line of code of a computer program pertaining to the software product. For testing each line of code, a plurality of test cases may be created that tests functionality pertaining to each feature of the software product. However, the plurality of test cases may not always facilitate a software tester to test each line of code as there might be possibility that one or more test cases may test the lines of code that have been tested at least once upon execution of another test case. In other words, it is a cumbersome task for the software tester to know what functional and system level testing yields in terms of the amount of actual lines of code that has been covered by the one or more test cases. For example, one may have 100 Test cases or 1000 test cases and still may be covering only 10% of the total lines of code or 80% of the total lines of code. This may sometimes provide erroneous information to the software tester as some code snippets of the computer program may not be tested at all before deployment of the software product.
In addition to the above, since the software product has a plurality of features, the challenge is to find a way to map each feature and execution to a code snippet that implements such feature(s). There has been lot of traditional approaches where complex tools may be used to address the aforementioned challenges, however, such tools are associated with challenges that may include, but not limited to, accuracy, labor intensive, and management overhead.